//
// Created by sukai on 22-10-15.
//
#include "common.h"

//服务返回状态

std::string ServiceResultType::ResultTypeOK = "ok";
std::string ServiceResultType::ResultTypeERROR = "error";

std::string ServiceResultType::request_get = "get";
std::string ServiceResultType::request_post = "post";

std::string ServiceResultType::SUCCEEDED = "succeeded";
std::string ServiceResultType::FAIL= "fail";
std::string ServiceResultType::start= "start";
std::string ServiceResultType::executing= "executing";
std::string ServiceResultType::end= "end";
std::string ServiceResultType::error= "error";





std::string ServiceResultType::FIRST = "first";//第一级
std::string ServiceResultType::SECOND = "second";//第二级
std::string ServiceResultType::THIRD = "third";//第三级
std::string ServiceResultType::FOURTH = "fourth";//第四级
std::string ServiceResultType::FIFTH = "fifth";//第五级
std::string ServiceResultType::SIXTH = "sixth";//第六级
std::string ServiceResultType::SEVENTH = "seventh";//第七级
std::string ServiceResultType::EIGHTH = "eighth";//第八级

std::string ServiceResultType::SPARE = "spare";//前往备用点位
std::string ServiceResultType::NORMAL = "normal";//前往正常点位

std::string ServiceResultType::ONE = "1";//1
std::string ServiceResultType::ZERO = "0";//0
std::string ServiceResultType::NEGATIVE_ONE = "-1";//-1
std::string ServiceResultType::EMPTY = "EMPTY";
int ServiceResultType::INT_ZERO = 0;//1

int ServiceResultType::INT_ONE = 1;//1
int ServiceResultType::INT_NEGATIVE_ONE = -1;//-1

int ServiceResultType::INT_401 = 401;// 配置 401 当用户登入失败会提示前端转到登入页面

//数据库表名称
std::string TabeName::TABLE_POINT_POSE = "TABLE_POINT_POSE";//点位表
std::string TabeName::TABLE_COSTMAPLAYER = "TABLE_COSTMAPLAYER";//虚拟墙
std::string TabeName::TABLE_TASKPOSE = "TABLE_TASKPOSE";//任务表
std::string TabeName::TABLE_TIME_TASK = "TABLE_TIME_TASK";//定时任务
std::string TabeName::TABLE_DICTIONARES = "TABLE_DICTIONARES";//字典
std::string TabeName::TABLE_USERS = "TABLE_USERS";//用户表

//操作数据库表,增删改查；
std::string TabeOperationType::selectSQLTABL = "selectSQLTABL";//查询
std::string TabeOperationType::insertSQLTABL = "insertSQLTABL";//增加数据
std::string TabeOperationType::updateSQLTABL = "updateSQLTABL";//更改数据
std::string TabeOperationType::deleteSQLTABL = "deleteSQLTABL";//删除数据
std::string TabeOperationType::insertSQLTABL_BATCH_TASK = "insertSQLTABL_BATCH_TASK";//批量增加任务表所数据
std::string TabeOperationType::isReturn_result_sqlStr_true = "true";//是否需要返回sql语句
std::string TabeOperationType::isReturn_result_sqlStr_false = "false";//是否需要返回sql语句

std::string TabeOperationType::UPDATE = " UPDATE ";
std::string TabeOperationType::SET = " SET ";

std::string TabeOperationType::INSERT = " INSERT ";
std::string TabeOperationType::INTO = " INTO ";
std::string TabeOperationType::VALUES = " VALUES ";

std::string TabeOperationType::deletee = " delete ";

std::string TabeOperationType::select = " select ";

std::string TabeOperationType::count = " count(*) ";

std::string TabeOperationType::from = " from ";

std::string  TabeOperationType::LIMIT= " LIMIT " ; //显示多少条数据
std::string  TabeOperationType::offset = " offset ";//从第几行的下一行开始

std::string TabeOperationType::WHERE = " WHERE ";

std::string TabeOperationType::ORDER = " ORDER ";
std::string TabeOperationType::BY = " BY ";
std::string TabeOperationType::AND = "AND";
std::string TabeOperationType::OR = "OR";
std::string TabeOperationType::Id = "Id";


std::string TabeOperationType::EQ = "=";//相等(EQ)
std::string TabeOperationType::NE = "!=";//不等(NE)
std::string TabeOperationType::LT = "<";//小于(LT)
std::string TabeOperationType::GT = ">";//大于(GT)
std::string TabeOperationType::LE = "<=";//小于或等于(LE)
std::string TabeOperationType::GE = ">=";//大于或等于(GE)。


static  std::string NE ;//相等(EQ)、不等(NE)、小于(LT)、大于(GT)、小于或等于(LE)、大于或等于(GE)。
static  std::string LT ;//相等(EQ)、不等(NE)、小于(LT)、大于(GT)、小于或等于(LE)、大于或等于(GE)。
static  std::string GT ;//相等(EQ)、不等(NE)、小于(LT)、大于(GT)、小于或等于(LE)、大于或等于(GE)。
static  std::string LE ;//相等(EQ)、不等(NE)、小于(LT)、大于(GT)、小于或等于(LE)、大于或等于(GE)。
static  std::string GE ;//相等(EQ)、不等(NE)、小于(LT)、大于(GT)、小于或等于(LE)、大于或等于(GE)。

//点位类型 ；
std::string PointTypeId::typeId_0 = "0";// 工作点
std::string PointTypeId::typeId_1 = "1";// 普通点
std::string PointTypeId::typeId_3 = "3";// 电梯外
std::string PointTypeId::typeId_4 = "4";// 电梯内
std::string PointTypeId::typeId_7 = "7";// 闸机点充电桩点
std::string PointTypeId::typeId_8 = "8";// 电梯等待点
std::string PointTypeId::typeId_11 = "11";// 充电桩点
std::string PointTypeId::typeId_20 = "20";// 狭窄区等待点
std::string PointTypeId::typeId_76 = "76";// 减速点
std::string PointTypeId::typeId_77 = "77";// 覆盖点
std::string PointTypeId::typeId_78 = "78";// 重定位


//-------------------sql 字段---------------------------------
//点位表 sql 字段
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::id="id";//mark点位id    （返回前端 html json用）             item[TABLE_POINT_POSE_SQL_COLUMN_FIELD::id]=table_dictionares.Id;//mark点位id
     std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::Id="Id";//mark点位id
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::MarkName="MarkName";//点位名称
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::TypeId="TypeId";// 点位类型 ->TypeId：  0：工作点 1：普通点 ，3：电梯外 ，4：电梯内 ，7：闸机点 ，8：电梯等待点，11：充电桩点，20：狭窄区等待点，76：减速点 ,77: 覆盖点 ,78:重定位
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::MarkNum="MarkNum";//点位编码 存在多个充电座需要通过充电装编号来定位是那个重点装充电； 电梯编码：通过给电梯编码发送指令控制电梯 门禁或闸机设备的编码
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::MapName="MapName";// 点位对应的地图名称
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::Mapfloor="Mapfloor";//地图楼层
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::FieldNumber="FieldNumber";//场地编号 机器人公司如果把数据库放在云上共所有客户使用，就得考虑增加场地编号。用法： 比如某个餐饮店比如海底捞1号店【每家店铺可能包含10台机器人，它们在同一个场景运行，按按场地编号为查询点位的条件，所以它们在统一场地的场地编号都是一致的（方便多机协作）】
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::FieldName="FieldName";//场地名称
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::X="X";//点位x坐标
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::Y="Y";//点位y坐标
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::Z="Z";//点位Z坐标
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::QX="QX";//点位QX 四元素
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::QY="QY";//点位QY 四元素
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::QZ="QZ";//点位QZ 四元素
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::QW="QW";//点位QW 四元素
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::YAW="YAW";//点位yaw 2d
    /**
    TestInfo_status_0="0";//0：该目标点空闲，其它机器人可以前往
    TestInfo_status_1=robotNumberf+"_1";//1：有机器人正在前往该目标点;
    TestInfo_status_2=robotNumberf+"_2";//2:有机器人在该目标点
    */
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::Status="Status";//当前目标点状态 2:在该目标点 1：其它机器人正在前往该目标点 ; 0：该目标点空闲，其它机器人可以前往
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::Command="Command";//到目的地后需要 tcp 发送这条协议出去操作其它设备，比如机械臂，plc，操作相机图像识别等
    std::string TABLE_POINT_POSE_SQL_COLUMN_FIELD::CommandStatus="CommandStatus";// 是否启用 Command 发送tcp命令，-1：不发送； 1：发送；






//虚拟墙字段
std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::id="id";//虚拟墙id号   （返回前端 html json用）
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Id="Id";//虚拟墙id号
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::FigureType="FigureType";//图形类型 point：点 至少1个点数据, line：线 至少2个点数据, polygons:多边形 至少3个点数据
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::FigureName="FigureName";//虚拟墙线或点名字
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::FieldNumber="FieldNumber";//场地名称编号
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::FieldName="FieldName";//场地名称
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::RobotNumber="RobotNumber";//底盘机器人编号
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::MapName="MapName";//地图名字
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Mapfloor="Mapfloor";//地图楼层
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_A_X="Point_A_X";//第一个点位A
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_A_Y="Point_A_Y";
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_B_X="Point_B_X";//第二个点位B
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_B_Y="Point_B_Y";
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_C_X="Point_C_X";//第三个点位C
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_C_Y="Point_C_Y";
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_D_X="Point_D_X";//第四个点位D
    std::string TABLE_COSTMAPLAYER_SQL_COLUMN_FIELD::Point_D_Y="Point_D_Y";


//虚拟墙图形类型 //图形类型 point：点 至少1个点数据, line：线 至少2个点数据, polygons:多边形 至少3个点数据
    std::string COSTMAPLAYER_FigureType::point="point";//画点
    std::string COSTMAPLAYER_FigureType::line="line";//画线
    std::string COSTMAPLAYER_FigureType::polygons="polygons";//画多边形


// 多点导航任务表TABLE_TASKPOSE     1.Remarks：备注 2. IsGoalTolerancePid 是否开启目标精度调整 -1 不开启,1 开启 ； 3. IsGoalToleranceMovebase 导航底层算法是否调整姿态 -1 不开启,1 开启 ；（开启开启目标精度调整后默认底层算法不调整姿态）



// 任务表字段
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::id="id";//执行点位任务id号  （返回前端 html json用）
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Id="Id";//执行点位任务id号
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::TaskName="TaskName";//谁的任务,比如送参车有3个餐盘 ，是第几个餐盘的点位任务
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::RobotNumber="RobotNumber";//机器人编号
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::MarkName="MarkName";//点位名称
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::FieldNumber="FieldNumber";//场地编号
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::FieldName="FieldName";//场地名称
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::TypeId="TypeId";//点位类型
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::MarkNum="MarkNum";//点位编码
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::MapName="MapName";//点位所在的地图名称
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Mapfloor="Mapfloor";//点位所在的当前楼层
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::WaitIsNotGo="WaitIsNotGo";//是否自动执行下一条任务； -1:不自动 1：自动
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::WaitGoalTime="WaitGoalTime";//自动执行下一条数据所等待的时间
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::IsGoalTolerancePid="IsGoalTolerancePid";//是否开启目标精度调整 -1 不开启,1 开启
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::IsGoalToleranceMovebase="IsGoalToleranceMovebase";//导航底层算法是否调整姿态 -1 不开启,1 开启（开启开启目标精度调整后默认底层算法不调整姿态）
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::X="X";//点位x坐标
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Y="Y";//点位y坐标
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Z="Z";//点位Z坐标
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::QX="QX";//点位QX 四元素
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::QY="QY";//点位QY 四元素
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::QZ="QZ";//点位QZ 四元素
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::QW="QW";//点位QW 四元素
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::YAW="YAW";//点位yaw 2d
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Status="Status";//当前目标点状态 2:在该目标点 1：其它机器人正在前往该目标点 ; 0：该目标点空闲，其它机器人可以前往
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::TaskStatus="TaskStatus";//当前任务状态 0：未开始  1：机器人正在前往该目标点 ;2.机器人在该点位的备用点位上 3:机器人已经到达该点的目标备用点
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Command="Command";//到目的地后需要 tcp 发送这条协议出去操作其它设备，比如机械臂，plc，
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::CommandStatus="CommandStatus";//是否启用 Command 发送tcp命令，-1：不发送； 1：发送；
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::SocketObjectName="SocketObjectName";//记录是哪个客户端发送的命令
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Message="Message";//接收客户端发来的消息，目标到达后完整返回给客户端
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Controller="Controller";//给控制器发的指令
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::TimeNow="TimeNow";//任务生成时间
std::string TABLE_TASKPOSE_SQL_COLUMN_FIELD::Remarks="Remarks";//备注


//定时任务字段
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::id="id";//任务id号
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Id="Id";//任务id号
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::TypeId="TypeId";//任务类型
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::RobotNumber="RobotNumber";//机器人编号
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Equipment_1="Equipment_1";//设备1
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Equipment_2="Equipment_2";//设备2
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Equipment_3="Equipment_3";//设备3
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Equipment_4="Equipment_4";//设备4
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Equipment_5="Equipment_5";//设备5
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Equipment_6="Equipment_6";//设备6
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Message="Message";//目标到达后完整返回给客户端，或应用端
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::MarkName="MarkName";//点位名称
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::StartTime="StartTime";//开始时间 "202105241657"【格式】精确到分
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::EndTime="EndTime";//结束时间 "202105241657"【格式】精确到分
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::Status="Status";//任务开始标志 1：开启，-1：关闭
std::string TABLE_TIME_TASK_SQL_COLUMN_FIELD::WorkingStatus="WorkingStatus";//是否正在执行 1：运行 ，-1：停止

//定时任务类型
std::string TIME_TASK_TypeId::typeId_0 = "0";// 普通任务
std::string TIME_TASK_TypeId::typeId_1 = "1";// 工作任务
std::string TIME_TASK_TypeId::typeId_3 = "3";// 覆盖任务
std::string TIME_TASK_TypeId::typeId_4 = "4";// 路径跟随任务


// 字典字段
std::string TABLE_DICTIONARES_SQL_COLUMN_FIELD::id="id";//id号
std::string TABLE_DICTIONARES_SQL_COLUMN_FIELD::Id="Id";//id号
std::string TABLE_DICTIONARES_SQL_COLUMN_FIELD::TargetName="TargetName";//名称
std::string TABLE_DICTIONARES_SQL_COLUMN_FIELD::Key_i="Key_i";//Key
std::string TABLE_DICTIONARES_SQL_COLUMN_FIELD::Value="Value";//值
std::string TABLE_DICTIONARES_SQL_COLUMN_FIELD::Status="Status";//状态  1：正常  -1：暂停使用 默认 0

// 字典字段key_i 值
std::string TABLE_DICTIONARES_KEY::fieldNumber="fieldNumber";//场地编号
std::string TABLE_DICTIONARES_KEY::fieldName="fieldName";//场地名称
std::string TABLE_DICTIONARES_KEY::robotNumber="robotNumber";//机器人编号
std::string TABLE_DICTIONARES_KEY::mapName="mapName";//当前地图名称
std::string TABLE_DICTIONARES_KEY::mapfloor="mapfloor";//当前地图楼层
std::string TABLE_DICTIONARES_KEY::mapPath="mapPath";//地图路径
std::string TABLE_DICTIONARES_KEY::softMapState="softMapState";//建图状态
std::string TABLE_DICTIONARES_KEY::softEstopState="softEstopState";//软急停状态
std::string TABLE_DICTIONARES_KEY::createMapAlgorithm="createMapAlgorithm";//当前建图算法

std::string TABLE_DICTIONARES_KEY::mysqlIp="mysqlIp";
std::string TABLE_DICTIONARES_KEY::mysqlIport="mysqlIport";
std::string TABLE_DICTIONARES_KEY::mysqluse="mysqluse";
std::string TABLE_DICTIONARES_KEY::mysqlpassword="mysqlpassword";
std::string TABLE_DICTIONARES_KEY::mysqlDatabaseName="mysqlDatabaseName";



// 用户表 TABLE_USERS.msg
std::string TABLE_USERS::id="id";//id号
std::string TABLE_USERS::Id="Id";//id号
std::string TABLE_USERS::Username="Username";//用户名称
std::string TABLE_USERS::Password="Password";//用户密码
std::string TABLE_USERS::AgainPassword="AgainPassword";//用户密码
std::string TABLE_USERS::Telephone="Telephone";//
std::string TABLE_USERS::Email="Email";//
std::string TABLE_USERS::ActivationCode="ActivationCode";//slam系统激活码
std::string TABLE_USERS::Status="Status";//状态  0：正常  -1：暂停使用 默认 0
std::string TABLE_USERS::Remarks="Remarks";//备注



//----------------------------------------
//log日志
std::string ContnavLoggerStr::DEBUG = "debug";
std::string ContnavLoggerStr::INFO = "info";
std::string ContnavLoggerStr::WARN = "warn";
std::string ContnavLoggerStr::ERROR = "error";
std::string ContnavLoggerStr::FATAL = "fatal";

//log日志

std::string ContnavLoggerType::savelog="savelog";  //保存日志
std::string ContnavLoggerType::saveHexlog="saveHexlog";  //保存16进制数据格式进入日志
std::string ContnavLoggerType::deleteAlllog="deleteAlllog";//删除所有日志文件
std::string ContnavLoggerType::showlogSize="showlogSize";//查看日志大小


//长走廊 暂时不能用，实验失败；
std::string currencyLongCorridorType::startLongCorridor="startLongCorridor";  //开启长走廊模式
std::string currencyLongCorridorType::stopLongCorridor="stopLongCorridor";  //关闭长走廊模式



//发送目标点 action
std::string currency_car_actionType::robotController="robotController";  //第一级,执行类型 robotController 用户给的俄指令；
std::string currency_car_actionType::sendGoal_withTable_point_pose="sendGoal_withTable_point_pose";  //第二级,执行类型 sendGoal_withTable_point_pose ,把目标点坐标 发送个莫 movebase; 通过定时器 取出队列 ,第一级 robotController 数据，
std::string currency_car_actionType::Active="Active";  //第三级,移动机器人正在做导航移动；导航收到目标点位，正在开始运动；
std::string currency_car_actionType::ActionStatusFinished="ActionStatusFinished";  //第四级,到达目标点位


std::string currency_car_actionType::robot_move_to_withTargetName="robot_move_to_withTargetName";    //通过点位名字导航到目标点
std::string currency_car_actionType::robot_move_to_pose="robot_move_to_pose";    //通过pose导航到目标点
std::string currency_car_actionType::request_markerPathFileName="request_markerPathFileName";    //通过一个路径文件导航
std::string currency_car_actionType::robot_move_to_withTargetName_simple="robot_move_to_withTargetName_simple";    //不通过复杂逻辑发送点位导航
std::string currency_car_actionType::cancelGoal="cancelGoal";    //取消点到点导航
std::string currency_car_actionType::cancelMarkerPath="cancelMarkerPath";    //取消一个路径文件导航

std::string currency_car_actionType::startElevatorOuters="startElevatorOuters";  //进电梯外点
std::string currency_car_actionType::startElevatorInners="startElevatorInners";  //进电梯内点
std::string currency_car_actionType::endElevatorInners="endElevatorInners";  //出电梯内点
std::string currency_car_actionType::endElevatorOuters="endElevatorOuters";  //出电梯外点
std::string currency_car_actionType::getResultState="getResultState";  //获取当前状态

//导航状态
   std::string robotMoveActionType::ActionStatusWaitingForStart="ActionStatusWaitingForStart";  //动作正在等待开始
   std::string robotMoveActionType::ActionStatusRunning="ActionStatusRunning";  //动作正在进行
   std::string robotMoveActionType::ActionStatusFinished="ActionStatusFinished";  //动作已经完成
   std::string robotMoveActionType::ActionStatusPaused="ActionStatusPaused";  //动作已经暂停
   std::string robotMoveActionType::ActionStatusStopped="ActionStatusStopped";  //动作已经停止（取消）
   std::string robotMoveActionType::ActionStatusError="ActionStatusError";  //动作执行过程中出现错误
   std::string robotMoveActionType::RECALLED="RECALLED"; //勾起;召回
   std::string robotMoveActionType::PENDING="PENDING"; //等待
   std::string robotMoveActionType::LOST="LOST";  //刚启动程序，一次都没有发送命令的时候，就是输出LOST；只要有一次操作后就会一直输出SUCCEEDED
   std::string robotMoveActionType::ExternalDeviceCommunicationRunning="ExternalDeviceCommunicationRunning";  //与外部设备通讯
   std::string robotMoveActionType::ExternalDeviceCommunicationError="ExternalDeviceCommunicationError";  //与外部设备通讯故障


 //操作导航逻辑
std::string startrobotType::go_on="go_on";  //动作正在等待开始
std::string startrobotType::park="park";  //停止所有任务
std::string startrobotType::cancel="cancel";  //取消当前任务
std::string startrobotType::next="next";   //执行下一个任务




std::string arriveStatusType::addSqlQueue="addSqlQueue";//批量增加任务表数据
std::string arriveStatusType::sendGoalWithcreateTimer="sendGoalWithcreateTimer";//数据加入到队列中
std::string arriveStatusType::thread_msg="thread_msg";//thread_msg():从队列中取出数据执行导航,发送导航任务 action /currencycaraction
std::string arriveStatusType::movebaseActionRobotStatus="movebaseActionRobotStatus";//导航算法 action 返回状态
std::string arriveStatusType::waitIsNotGoFun="waitIsNotGoFun";//自动开始下一个任务 [删除队列中的一个任务]


//电梯返回状态
std::string robotControllerElevatorType::elecatorTimeOut="elecatorTimeOut";  //超时上电梯
std::string robotControllerElevatorType::elecatorStop="elecatorStop";  //停止上电梯
std::string robotControllerElevatorType::elecatorWorking="elecatorWorking";  //正在执行上电梯,
std::string robotControllerElevatorType::elecatorCurrentInner="elecatorCurrentInner";  //到达当前楼层内点
std::string robotControllerElevatorType::elecatorCurrentOuter="elecatorCurrentOuter";  //到达当前楼层外点
std::string robotControllerElevatorType::elecatorTargetInner="elecatorTargetInner";  //到达目标楼层的内点
std::string robotControllerElevatorType::elecatorTargetOuter="elecatorTargetOuter";  //到达目标楼层的外点
std::string robotControllerElevatorType::elecatorSucceeded="elecatorSucceeded";  //到达楼层




 //对桩状态
std::string charingStateType::AimPileWorking="AimPileWorking";  //对桩成功中
std::string charingStateType::AimPileWorkingError="AimPileWorkingError";  //对桩工作中异常
std::string charingStateType::AimPileFinished="AimPileFinished";  //对桩成功,
std::string charingStateType::AimPileWorkingTimeOut="AimPileWorkingTimeOut";  //对桩超时
std::string charingStateType::LeavePileWorking="LeavePileWorking";  //离桩中
std::string charingStateType::LeavePileFinished="LeavePileFinished";  //离桩成功
std::string charingStateType::LeavePileError="LeavePileError";  //离桩失败
std::string charingStateType::AimPileWorkingStopWorking="AimPileWorkingStopWorking";  //停止对桩工作中
std::string charingStateType::AimPileWorkingStop="AimPileWorkingStop";  //停止对桩


//对桩操作
std::string chargeMoveType::startchargeing="startchargeing";  //开始对桩
std::string chargeMoveType::chargeingOff="chargeingOff";  //离桩
std::string chargeMoveType::chargeingStop="chargeingStop";  //停止对桩,


//pid 目标精度调整
std::string goalTolerancePidType::startGoalTolerancePid="startGoalTolerancePid";  //开启 pid 目标精度调整
std::string goalTolerancePidType::stopGoalTolerancePid="stopGoalTolerancePid";  //关闭  pid 目标精度调整
std::string goalTolerancePidType::getResultState="getResultState";  //获取当前状态


std::string goalTolerancePidType::ActionStatusError_distance_threshold="ActionStatusError_distance_threshold";  //error 机器人当前位姿与目标位姿之间距离大于距离阀值
std::string goalTolerancePidType::ActionStatusError_time_out="ActionStatusError_time_out";  //error  机器人当前位姿与目标位姿精度调时间整超时
std::string goalTolerancePidType::ActionStatusFinished="ActionStatusFinished";  //[到达指定位置] 调整当前机器人姿态与目标机器人姿态一致
std::string goalTolerancePidType::ActionStatusRunning_turn="ActionStatusRunning_turn";  //[转向] 调整机器人转向角度使机器人面向目标点
std::string goalTolerancePidType::ActionStatusRunning_move="ActionStatusRunning_move";  //[移动]机器人向目标机器人方向前进
std::string goalTolerancePidType::ActionStatusRunning_attitude="ActionStatusRunning_attitude";  //[姿态] 调整当前机器人姿态与目标机器人姿态一致
std::string goalTolerancePidType::ActionStatusRunning_again="ActionStatusRunning_again";  //[到达指定位置] 调整当前机器人姿态与目标机器人姿态一致（start 精度不够重新继续调整！）

std::string goalTolerancePidType::ActionStatusError_ranges_out="ActionStatusError_ranges_out";  //error 取雷达范围超出ranges,
std::string goalTolerancePidType::ActionStatusError_straightAhead="ActionStatusError_straightAhead";  //小车位正前方探测到障碍物
std::string goalTolerancePidType::ActionStatusError_left="ActionStatusError_left";  //小车位左侧探测到障碍物
std::string goalTolerancePidType::ActionStatusError_right="ActionStatusError_right";  //小车位右侧探测到障碍物


 //启动与关闭node  启动地图 保存地图 切换地图
std::string startlaunchType::createdb="createdb";//创建数据库
std::string startlaunchType::switchMap="switchMap";//切换地图服务
std::string startlaunchType::startNav="startNav";//启动导航
std::string startlaunchType::closeNav="closeNav";//关闭导航
std::string startlaunchType::saveMap="saveMap";//保存地图
std::string startlaunchType::createMa="createMa";//打开建图
std::string startlaunchType::closeMap="closeMap";//关闭建图
std::string startlaunchType::restartMovebase="restartMovebase";//重启导航
std::string startlaunchType::getResultState="getResultState";  //获取当前状态



//获取所有 运行的 node节点的名称,与mac网卡序列号
std::string nodeListMainType::nodeNameList="nodeNameList";// 获取所有node节点
std::string nodeListMainType::topicNameList="topicNameList";// 获取所有topic名称
std::string nodeListMainType::ifconfigList="ifconfigList";//  获取mac 网卡地址
std::string nodeListMainType::ip_link="ip_link";// 无线->查看网卡名称，这里可以查到未启动的无线网卡名
std::string nodeListMainType::wifi_names="wifi_names";// 无线->查看wifi名字
std::string nodeListMainType::net_status="net_status";// 无线->网络链接状态



//web http
std::string webmainType::select="select"; // select
std::string webmainType::install="install";// install
std::string webmainType::update="update"; //  update
std::string webmainType::deletee="deletee"; // delete
std::string webmainType::page="page";
std::string webmainType::perPage="perPage";



//---------------currency_saverobotpose---------------------------

std::string currency_saverobotposeType::initialpose="initialpose"; // 重定位
std::string currency_saverobotposeType::startSaveposeWithTimer="startSaveposeWithTimer";//开启轮寻记录当前位置
std::string currency_saverobotposeType::stopSaveposeWithTimer="stopSaveposeWithTimer";//关闭寻记录当前位置









